// import { useDebounce } from '@/hooks/useDebounce.js'
// const { debounce } = useDebounce()

// // 使用示例
// debounce(() => {
//     // 事件逻辑
// }, 500)

/**
 * 防抖Hook
 * @returns {Function} 防抖函数
 */
const useDebounce = () => {
    const timer = ref(null)

    const debounce = (fn, delay = 300, ...args) => {
        clearTimeout(timer.value)
        timer.value = setTimeout(() => {
            fn.apply(this, args)
        }, delay)
    }

    // 组件卸载时自动清除定时器
    onUnmounted(() => {
        clearTimeout(timer.value)
    })

    return { debounce }
}

export { useDebounce }
